-- 默认是全局变量
-- number表示双精度类型的实浮点数
a = 10
-- bool
b = false

-- 局部变量 字符串
local c = "3"

--方法1
d = function()
    -- 字符串的连接用..
    print("a is  " .. type(a))
    print("b is  " .. type(b))
    print("c is  " .. type(c))

    -- if语句-=判断不等于 ==判断等于
    if type(c) ~= "number" then
        --toXXXX方法可以将字符串和其他类型互相转化
        print("tonumber(c) is  " .. type(tonumber(c)) .. "     tostring(a) is  " .. type(tostring(a)))
    end
    print("d is " .. type(d))
end

-- table Lua 中的table其实是一个"关联'数组'"（associative arrays），数组的索引可以是数字、字符串或表类型。
-- 在 Lua 里，table 的创建是通过"构造表达式"来完成，最简单构造表达式是{}，用来创建一个空表。
-- table的索引是从1开始的,table的长度是通过#来获取的,table的遍历是通过pairs来获取的,table的删除是通过nil来实现的
-- table使用setmetatable来设置元表,当访问一个table的不存在的key时，会去元表中查找，如果元表中有__index方法，就会调用__index方法，设置index的值为一个table，就实现了继承
tab1 = {10,20,30,40,50}
e = {
    name = "zhangsan",
    age = 20,
    1,
    2,
    3,
    log = function(self, a, b)
        print('d.add called')
        return a + b
    end
}

